package zy.dao.buy.enter;

import java.util.List;
import java.util.Map;

import zy.entity.base.product.T_Base_Barcode;
import zy.entity.base.product.T_Base_Product;
import zy.entity.buy.enter.T_Buy_Enter;
import zy.entity.buy.enter.T_Buy_EnterList;
import zy.entity.buy.order.T_Buy_Import;
import zy.entity.buy.order.T_Buy_Order;
import zy.entity.stock.data.T_Stock_DataBill;
import zy.entity.sys.user.T_Sys_User;

public interface EnterDAO {
	Map<String, Object> countSum(Map<String,Object> params);
	List<T_Buy_Enter> list(Map<String,Object> params);
	T_Buy_Enter load(Integer et_id);
	T_Buy_Enter load(String number,Integer companyid);
	T_Buy_Enter check(String number,Integer companyid);
	List<T_Buy_EnterList> detail_list_forsavetemp(String et_number,Integer companyid);
	List<T_Buy_EnterList> detail_list(Map<String, Object> params);
	List<T_Buy_EnterList> detail_list_print(Map<String, Object> params);
	List<T_Buy_EnterList> detail_sum(Map<String, Object> params);
	List<String> detail_szgcode(Map<String,Object> params);
	List<T_Buy_EnterList> list_order_forimport(List<Integer> ids);
	List<T_Buy_EnterList> temp_list_forimport(Integer et_type,Integer us_id,Integer companyid);
	List<T_Buy_EnterList> temp_list_forsave(Integer et_type,Integer us_id,Integer companyid);
	List<T_Buy_EnterList> temp_list(Map<String, Object> params);
	List<T_Buy_EnterList> temp_sum(Map<String, Object> params);
	List<String> temp_szgcode(Map<String,Object> params);
	Integer count_product(Map<String, Object> param);
	List<T_Base_Product> list_product(Map<String, Object> param);
	T_Base_Product load_product(String pd_code,Integer companyid);
	Map<String, Object> load_product_size(Map<String,Object> params);
	Double temp_queryUnitPrice(String pd_code,String etl_pi_type, Integer et_type, Integer us_id, Integer companyid);
	void temp_save(List<T_Buy_EnterList> temps);
	void temp_save(T_Buy_EnterList temp);
	void temp_update(List<T_Buy_EnterList> temps);
	void temp_updateById(List<T_Buy_EnterList> temps);
	void temp_update(T_Buy_EnterList temp);
	void temp_updateRemarkById(T_Buy_EnterList temp);
	void temp_updateRemarkByPdCode(T_Buy_EnterList temp);
	void temp_updateprice(String pd_code,String etl_pi_type, Double unitPrice, Integer et_type, Integer us_id, Integer companyid);
	void temp_del(List<T_Buy_EnterList> temps);
	void temp_del(Integer etl_id);
	void temp_delByPiCode(T_Buy_EnterList temp);
	void temp_clear(Integer et_type,Integer us_id,Integer companyid);
	T_Buy_EnterList temp_loadBySubCode(String sub_code,String etl_pi_type, Integer et_type, Integer us_id, Integer companyid);
	List<T_Buy_Import> temp_listByImport(List<String> barCodes,Integer companyid);
	void save(T_Buy_Enter enter);
	void update(T_Buy_Enter enter);
	void saveList(List<T_Buy_EnterList> details);
	void updateApprove(T_Buy_Enter enter);
	List<T_Buy_EnterList> listWithOrder(String number,Integer companyid);
	T_Buy_Order loadOrder(String number,Integer companyid);
	void updateOrder(T_Buy_Order order);
	void updateOrderList(List<T_Buy_EnterList> details);
	void updateOrderList_Reverse(List<T_Buy_EnterList> details);
	List<T_Buy_EnterList> listGroupProduct(String number, Integer companyid);
	List<T_Stock_DataBill> listProductStock(List<String> pd_codes,T_Sys_User user);
	void updateProductBuyPriceAndDate(List<T_Base_Product> products);
	void updateProductCostPrice(List<T_Base_Product> products);
	List<T_Stock_DataBill> listStock(String number,String dp_code, Integer companyid);
	void del(String et_number, Integer companyid);
	void deleteList(String et_number, Integer companyid);
	List<T_Base_Barcode> print_barcode(Map<String, Object> params);
}
